﻿using System;

namespace Notifications.Runtime
{
    public interface IGameBackgroundNotificationsPlatform : IDisposable
    {
        void Init();
        void ScheduleBackgroundNotification(IGameBackgroundNotification gameNotification);
        void UpdateDateBackgroundNotification(IGameBackgroundNotification gameNotification);
        void CancelBackgroundNotification(int id);
        void CancelAllBackgroundNotifications();
        IGameBackgroundNotification CreateBackgroundNotification();
        /// <summary>
        /// Performs any initialization or processing necessary on foregrounding the application.
        /// </summary>
        void OnForeground();
        /// <summary>
        /// Performs any processing necessary on backgrounding or closing the application.
        /// </summary>
        void OnBackground();
    }
}